package com.nnnu.orange.service;

import com.nnnu.orange.pojo.dto.BookDto;
import com.nnnu.orange.pojo.dto.BooksQueryDto;
import com.nnnu.orange.pojo.entity.Books;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nnnu.orange.pojo.vo.BooksInfoVo;
import com.nnnu.orange.result.PageResult;

import java.util.List;

/**
 * <p>
 * 存储每本图书的详细信息 服务类
 * </p>
 *
 * @author zk
 * @since 2024-11-07
 */
public interface IBooksService extends IService<Books> {

    /**
     * 分页查询图书列表
     *
     * @param queryDto dto
     * @return 分页图书列表
     */
    PageResult<BooksInfoVo> listBooks(BooksQueryDto queryDto);

    /**
     * 新增图书
     *
     * @param bookDto dto
     * @return 是否添加成功
     */
    Boolean save(BookDto bookDto);

    /**
     * 修改图书信息
     *
     * @param bookDto 图书dto
     */
    void updateById(BookDto bookDto);

    /**
     * 批量删除图书
     *
     * @param ids 图书id列表
     * @return 是否删除成功
     */
    Boolean deleteBatch(List<Integer> ids);

    /**
     * 批量插入图书
     * @param booksList 图书列表
     */
    void batchInsert(List<Books> booksList);
}
